#计算两个列表元素相加
# a = [1,2,3]
# b = [4,5,6]
# result = [a[i] + b[i] for i in range(len(a))]
# print(result)
#
# import numpy as np
#
# a= np.array([1,2,3])
# b= np.array([4,5,6])
# print(a+b)

import numpy as np
#案例2计算余弦相似度
def cos_sim(v1,v2):
    """
    cos(θ)=a⋅b|a||b|
    计算两个向量的余弦相似度
    余弦相似度用于衡量两个向量方向的相似性，结果范围从-1到1
    -1表示完全相反，1表示完全相同，0表示两者无相似性
    :param v1:
    :param v2:
    :return:
    返回两个向量的余弦相似度
    """

    #计算向量点积
    dot = np.dot(v1,v2)
    #计算向量的模的相乘
    norm = np.linalg.norm(v1) * np.linalg.norm(v2)
    #返回余弦相似度
    return dot / norm

#测试向量（支持任意维度）
vec_a = np.array([0.2,0.5,0.8])
vec_b = np.array([0.3,0.6,0.7])
print(f"相似度:{cos_sim(vec_a,vec_b):.4f}")